package org.pp.service;

import org.pp.admin.dto.*;
import org.pp.core.PageBean;
import org.pp.entity.PpGoods;
import com.baomidou.mybatisplus.extension.service.IService;
import org.pp.miniapp.dto.GoodsSearch;
import org.pp.vo.AdminMiniappGoodsDetailVo;
import org.pp.vo.AdminGoodsVo;
import org.pp.vo.MiniappGoodsVo;

import java.util.List;

/**
 * <p>
 * 商品 服务类
 * </p>
 *
 * @author haima
 * @since 2024-06-02
 */
public interface IPpGoodsService extends IService<PpGoods> {

    PageBean<AdminGoodsVo> getPageList(PpGoodsPage page);

    void postageUpdate(PpGoodsPostageEdite dto);

    void detailIntroUpdate(PpGoodsDetailIntroEdite dto);

    void attrUpdate(PpGoodsAttrEdite dto);

    void skuUpdate(PpGoodsSkuEdite dto);

    AdminMiniappGoodsDetailVo getDetail(Long goodsId);

    void categorizeUpdate(PpGoodsCategorizeEdite dto);

    void statusSwitch(PpGoodsStatusSwitch dto);

    List<MiniappGoodsVo> getGoodsByCateId(Long cateId);

    PageBean<MiniappGoodsVo> search(GoodsSearch dto);
}
